# 2.20 字体
# 2.22 播放声音

import pygame, sys, time
from pygame.constants import *

pygame.init()

displaysurf = pygame.display.set_mode((400, 300))
pygame.display.set_caption('hello world')

white = (255,255,255)
green = (0,255,0)
blue = (0,0,128)

fontObj = pygame.font.Font('freesansbold.ttf', 32)

# 播放背景音乐
pygame.mixer.music.load('sound32.mp3')
pygame.mixer.music.play(-1, 0.0)
# pygame.mixer.music.stop()

# 播放音效
soundObj = pygame.mixer.Sound('match1.wav')
soundObj.play()
# soundObj.stop()

# 绘制文本Surface对象(第2个参数是抗锯齿)
textSurfaceObj = fontObj.render('hello world', True, green, blue)

# 获取文本Surface对象的矩形区域，并设置中心点
textRectObj = textSurfaceObj.get_rect()
textRectObj.center = (200, 150)

while True:
    displaysurf.fill(white)
    # 将文本Surface复制到textRectObj矩形区域
    displaysurf.blit(textSurfaceObj, textRectObj)
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
    pygame.display.update()

# 2.21 抗锯齿
# 抗锯齿是一种图形技术，通过给文本和图形的边缘添加一些模块效果，使其看上去不那么块状化
# 抗锯齿效果绘制需要多消耗计算时间，程序会变慢